testsuite: Add a test for symbolic icons in specific sizes
authorBenjamin Otte <otte@redhat.com>
Thu, 12 Jun 2014 10:28:07 +0000 (12:28 +0200)
committerBenjamin Otte <otte@redhat.com>
Thu, 12 Jun 2014 10:34:09 +0000 (12:34 +0200)
Check that loading symbolics works, even if the symbolic is only
available in a fixed size.

testsuite/gtk/Makefile.am
testsuite/gtk/icons/32x32/only32-symbolic.svg [new file with mode: 0644]
testsuite/gtk/icons/index.theme
testsuite/gtk/icontheme.c

index 822e7b45d20da9bc47e2694585069998a688fe96..a0d6ee3e40b496ec5a19540af2132af502e9a698 100644 (file)
@@ -130,6 +130,7 @@ keyhash_SOURCES     =                                       \
 
 test_icontheme =                                       \
        icons/16x16/simple.png                          \
+       icons/32x32/only32-symbolic.svg                 \
        icons/index.theme                               \
        icons/scalable/everything-justregular.svg       \
        icons/scalable/everything-justrtl-rtl.svg       \
diff --git a/testsuite/gtk/icons/32x32/only32-symbolic.svg b/testsuite/gtk/icons/32x32/only32-symbolic.svg
new file mode 100644 (file)
index 0000000..45b553c
--- /dev/null
@@ -0,0 +1,4 @@
+<?xml version="1.0" standalone="no"?>
+<svg width="32" height="32" version="1.1" xmlns="http://www.w3.org/2000/svg">
+  <text x="16" y="24" text-anchor="middle" font-size="24">32</text>
+</svg>
index 28e544aa592eb16af4ec8814e5eb6e795042301a..cecd974868479ac1d84c4eba0e52938cf988bbec 100644 (file)
@@ -3,13 +3,18 @@ Name=Icons
 Comment=Testing of the Icon theme code
 Example=16x16/simple.png
 
-Directories=16x16,scalable
+Directories=16x16,32x32,scalable
 
 [16x16]
 Context=16x16 icons
 Size=16
 Type=Fixed
 
+[32x32]
+Context=32x32 icons
+Size=32
+Type=Fixed
+
 [scalable]
 Context=scalable icons
 Type=Scalable
index c72d50d0a02b5ccdd912459bcbcd4ac2d3779d38..17fe6a04e2b71ed27c1b0dee3c59cde96abe27e1 100644 (file)
@@ -405,6 +405,25 @@ test_rtl (void)
                       "/icons/scalable/everything-justrtl-rtl.svg");
 }
 
+static void
+test_symbolic_single_size (void)
+{
+  /* Check we properly load a symbolic icon from a sized directory */
+  assert_icon_lookup ("only32-symbolic",
+                      32,
+                      0,
+                      "/icons/32x32/only32-symbolic.svg");
+  /* Check that we still properly load it even if a different size is requested */
+  assert_icon_lookup ("only32-symbolic",
+                      16,
+                      0,
+                      "/icons/32x32/only32-symbolic.svg");
+  assert_icon_lookup ("only32-symbolic",
+                      128,
+                      0,
+                      "/icons/32x32/only32-symbolic.svg");
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -416,6 +435,7 @@ main (int argc, char *argv[])
   g_test_add_func ("/icontheme/force-symbolic", test_force_symbolic);
   g_test_add_func ("/icontheme/force-regular", test_force_regular);
   g_test_add_func ("/icontheme/rtl", test_rtl);
+  g_test_add_func ("/icontheme/symbolic-single-size", test_symbolic_single_size);
 
   return g_test_run();
 }